package com.amsp.oa.oademo.service;

import com.amsp.oa.oademo.entity.DormitoryApply;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Date;

public interface DormitoryApplyService extends IService<DormitoryApply> {
    IPage<DormitoryApply> getApplyList(Page<DormitoryApply> page, String keyword, String status);
    DormitoryApply submitApply(DormitoryApply apply);
    DormitoryApply updateApply(DormitoryApply apply);
    void deleteApply(Long id);
    DormitoryApply getApplyByNo(String applyNo);
    IPage<DormitoryApply> getMyApplies(Page<DormitoryApply> page, String applicant);
    DormitoryApply approveApply(Long id, String approver, String approveRemark, boolean isApproved);
    DormitoryApply assignRoom(Long id, String building, String room, Date checkInTime, Date checkOutTime);
    DormitoryApply cancelApply(Long id);
} 